Three-dimensional (3D) television has been a technology trend in recent years that is targeted to bring viewers sensational viewing experience. Multi-view video is a technique to capture and render 3D video. The multi-view video is typically created by capturing a scene using multiple cameras simultaneously, where the multiple cameras are properly located so that each camera captures the scene from one viewpoint. The multi-view video with a large number of video sequences associated with the views represents a massive amount data. Accordingly, the multi-view video will require a large storage space to store and/or a high bandwidth to transmit. Therefore, multi-view video coding techniques have been developed in the field to reduce the required storage space and the transmission bandwidth. A straightforward approach may simply apply conventional video coding techniques to each single-view video sequence independently and disregard any correlation among different views. Such straightforward techniques would result in poor coding performance. In order to improve multi-view video coding efficiency, multi-view video coding always exploits inter-view redundancy. The disparity between two views is caused by the locations and angles of the two respective cameras.
Depth lookup table (DLT) has been adopted into 3D-HEVC. Very often, there are only limited values appearing in the depth component. Therefore, DLT is a compact representation of the valid values in a block. When a CU is coded in Intra simplified depth coding (SDC) mode or depth map modeling (DMM) mode, DLT is used to map the valid depth values to DLT indexes. FIG. 1 demonstrates an example of DLT representation of depth values in a picture. While the range of depth values is from 0 to 255, only 5 depth values (i.e., 50, 108, 110, 112 and 200) appear in the picture. Accordingly, the DLT consists of 5 values with indexes from 0 to 4. The DLT is signaled in the picture parameter set (PPS) and it is up to the encoder to generate the DLT.
In the current 3D-HEVC (Three-Dimensional Coding Based on High Efficiency Video Coding) draft standard, DLT is signaled as an extension to picture parameter set (PPS). The syntax elements related to DLT signaling are described in the following tables.
As shown in Table 1, the DLT parameter information, pps_dlt_parameters( ) is incorporated in the PPS if the PPS extension flag, pps_extension_type_flag[0] is asserted.
TABLE 1Descriptorpic_parameter_set_rbsp( ) { ...u(1) pps_extension_flagu(1) if( pps_extension_flag ) {  for ( i = 0; i < 8; i++ )   pps_extension_type_flag[ i ]u(1)  if( pps_extension_type_flag[ 0 ] )   poc_reset_info_present_flagu(1)  if( pps_extension_type_flag[ 2 ] )   pps_dlt_parameters( )u(1)  if( pps_extension_type_flag[ 7 ] )   while( more_rbsp_data( ) )    pps_extension_data_flagu(1) } rbsp_trailing_bits( )}
The syntax structure for the DLT parameter information, pps_dlt_parameters( ) is shown in Table 2. When the flag, dlt_present_flag has a value of 1, information related to DLT is incorporated in pps_dlt_parameters( ) as shown in Table 2. The inter-view DLT prediction flag, inter_view_dlt_pred_enable_flag[i] equal to 1 indicates that the i-th depth lookup table is predicted from the depth lookup table of the 0-th depth lookup table. On the other hand, the flag, inter_view_dlt_pred_enable_flag[i] equal to 0 indicates the i-th depth lookup table is not predicted from any other depth lookup table.
TABLE 2DescriptorNotepps_dlt_parameters( ) { dlt_present_flagu(1) if( dlt_present_flag) {  pps_depth_layers_minus1u(6)  pps_bit_depth_for_depth_views_minus8u(4)  for( i=0; i <= pps_depth_layers_minus1; i++) {   dlt_flag[ i ]u(1)   if( dlt_flag[ i ] ) {    inter_view_dlt_pred_enable_flag[ i ]u(1)    if( !inter_view_dlt_pred_enable_flag[ i ] )     dlt_bit_map_rep_flag[ i ]u(1)    if( dlt_bit_map_rep_flag[ i ] )     for( j = 0; j <= depthMaxValue; j++ )      dlt_bit_map_flag[ i ][ j ]u(1)    else     entry_table( i )   }  } }}
The DLT signaling according to the existing 3D-HEVC standard has some issues. First, inter-view prediction can be applied to DLT as indicated by a corresponding flag, inter_view_dlt_pred_enable_flag[i]. If this flag is set to 1, the i-th DLT is predicted from the 0-th DLT. On the other hand, dlt_flag[i] indicates whether the i-th DLT exists. Therefore, if dlt_flag[0] is 0 and inter_view_dlt_pred_enable_flag[i] with i>0 is 1, the i-th DLT is predicted from a non-existed DLT.
In the existing 3D-HEVC standard, pps_bit_depth_for_depth_views_minus8 is signaled to indicate the bit-depth for samples of the depth component in the picture. However, the bit-depth for samples in the depth component is also signaled in the sequence level as indicated by bit_depth_luma_minus8 which is signaled in sequence parameter set (SPS). Therefore. There is potential contradiction between these two syntax elements if these two syntax elements are different.
In the existing 3D-HEVC standard, the DLT is signaled in all PPSs of the bit-stream including the texture video in all views since the flag dlt_present_flag can be set to 1 for the texture data. However, the DLT is only required by the depth component of each view. According to the existing 3D-HEVC standard, the DLT is signaled in four PPSs in total when there are 3 views. As shown in FIG. 2, three PPSs are sent for the texture component for three views, (i.e., T0, T1 and T2) individually. On the other hand, only one PPS is used and shared by the depth component for all three views (i.e., D0, D1 and D2). Therefore, 4 copies of the same content of DLT will be signaled in the 4 PPSs repeatedly with an obvious redundancy.
It is desirable to develop methods to overcome these issues without causing noticeable impact on the performance.